#ifndef __RenderingExplosionParticleSystem__h__included__
#define __RenderingExplosionParticleSystem__h__included__

#include "ParticleSystem.h"

namespace neiderra {
	namespace rendering{

		class iRenderer;

		class ExplosionArrowParticleSystem : public PolyParticleSystem {
		public:
			virtual int update(double deltaT);
			virtual void initParticles();

			virtual void setup(float angle, float r, float v0, float Pt);
			virtual void reset();
		private:
			float angle;
			double Pt;
			float radius;
			float v0,v1;
			float s0,s1,s,olds;
			float ds;
            float a;
			float t;
			bool stop_emitter;
			unsigned n;
			float size, dsize;
			double t_passed, t_accum;
		};

		class ExplosionParticleSystem : public PolyParticleSystem {
		public:
			virtual int update(double deltaT);
            virtual void initParticles();
			void setup(unsigned arrows) {_arrowsNum;}
			virtual void render(iRenderer* r);
			virtual void reset();
		protected:
			unsigned _arrowsNum;
		};
	}
}

#endif
